/**
 * 对响应数据接口返回格式处理 -- 中间件
 * @param {*} req
 * @param {*} res
 * @param {*} next
 */

module.exports = function (req, res, next) {
  console.log('-------响应格式中间件-------');
  // 非 api 不做处理
  if (req.path.indexOf('api/') < 0) {
    return next();
  }
  const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; // 获取 ip 地址
  // 添加额外方法
  res.api_success = (data, msg = 'success') => {
    return res.json({ code: 200, msg, data, ip });
  };
  // 添加错误处理
  res.api_error = (msg, code, data = null) => {
    return res.json({ code, msg, data, ip });
  };
  next();
};
